# -*- coding: utf-8 -*-
from functools import partial
from os.path import abspath, dirname
from werkzeug import LocalStack, LocalProxy


def _lookup_object(name):
    top = _request_ctx_stack.top
    if top is None:
        raise RuntimeError('working outside of request context')
    return getattr(top, name)


_request_ctx_stack = LocalStack()
#current_app = LocalProxy(partial(_lookup_object, 'app'))
request = LocalProxy(partial(_lookup_object, 'request'))
#session = LocalProxy(partial(_lookup_object, 'session'))
#g = LocalProxy(partial(_lookup_object, 'g'))
_current_path = abspath(dirname(__file__))
